home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
thtmt227.arj
/
WHO.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-02-15
|
4KB
|
212 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
String STRING001
;------------------------------------------------------------------------------
Gosub LABEL001
Gosub LABEL002
For INTEGER001 = 1 To 10
Gosub LABEL004
Next
Gosub LABEL003
Goto LABEL007
:LABEL001
GetUser
If (U_Cls == 1) Then
Cls
Newlines 2
Endif
If (ReadLine(PCBDat(), 90) == "0") Then
Newline
PrintLn "@X0F≡ @X09Sorry! No Network active! @X0F≡"
Newline
Else
Return
:LABEL002
DispFile PPEPath() + "who.hdr", 1 + 4
If (AnsiOn() == 1) Then
PrintLn " @X70├── ───────────────────────── ─────────────────────────────────────┤@X07"
Else
PrintLn " @X09--- ------------------------- ----------------------------------@X07"
Endif
Return
:LABEL003
If (AnsiOn() == 1) Then
PrintLn " @X70└── ───────────────────────── ─────────────────────────────────────┘@X07"
Else
PrintLn " @X09--- ------------------------- ----------------------------------@X07"
Endif
Return
:LABEL004
RdUNet INTEGER001
If (UN_Stat() == "") Then
Return
Else
Print "@POS:6@@X70│@X07@POS:8@@X0C"
Print INTEGER001, "@X0F"
Endif
If (PcbNode() == INTEGER001) Then
PrintLn "@POS:12@@X0B@X0BAvailable for Chat @POS:38@" + UN_Name() + " (" + UN_City() + ")" + "@POS:73@@X70│@X07"
Return
Else
Select Case (UN_Stat())
Case " ", "V"
PrintLn "@POS:12@No Caller this Node" + "@POS:73@@X70│@X07"
Return
Case "Y"
PrintLn "@POS:12@Node Offline" + "@POS:73@@X70│@X07"
Return
Case Else
Gosub LABEL005
Endif
End Select
If (!(UN_Name() == "") || !(UN_City() == "")) Then
PrintLn "@POS:38@@X0E" + UN_Name() + "@POS:73@@X70│@X07"
Else
Newline
Endif
Return
:LABEL005
Select Case (UN_Stat())
Case "A"
Print "@POS:12@@X0BAvailable for Chat"
Case "U"
Print "@X0B@POS:12@Unavailable for Chat"
Case "O"
Print "@POS:12@@X0BLogon Sequence"
Case "S"
Print "@POS:12@@X0BAnswering a Script"
Case "B"
Print "@X0C@POS:12@Out to Dos@X07"
Case "T"
Gosub LABEL006
Case "D"
Print "@POS:12@@X0BUser in a Door"
Case "C"
Print "@POS:12@@X0BChatting with Sysop"
Case "G"
Print "@POS:12@@X0BChatting with Group"
Case "M"
Print "@POS:12@@X0BRcvd Broadcast Msg"
Case "E"
Print "@POS:12@@X0BEntering a Message"
Case "P"
Print "@POS:12@@X0BPaging Sysop"
Case "W"
Print "@POS:12@@X0BNode dropped to Dos"
Case "R"
Print "@POS:12@@X0BRecycling Node"
Case "L"
Print "@POS:12@@X0BAutoLogoff Sequence"
Case "X"
Print "@POS:12@@X0BDrop to Dos pending"
Case "F"
Print "@POS:12@@X0BViewing a File"
Case "N"
Print "@POS:12@@X0BRunning Event"
Case "Z"
Print "@POS:12@@X0BNode is Offline"
Case Else
Print "@POS:12@@X0CUnknown Activity@X07"
End Select
Return
:LABEL006
STRING001 = Left(UN_Oper(), 3)
Select Case (STRING001)
Case "(U)"
Print "@POS:12@@X0EUploading@X07"
Case "(D)"
Print "@POS:12@@X0CDownloading@X07"
Case Else
Print "@POS:12@@X0DBeginning Transfer@X07"
End Select
Return
Endif
:LABEL007
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 62 Goto
; 3 Let
; 24 Print
; 9 PrintLn
; 31 If
; 1 DispFile
; 1 GetUser
; 6 Gosub
; 10 Return
; 3 Newline
; 1 Newlines
; 1 RdUNet
;
;
; ■ Functions used :
;
; 12 +
; 32 ==
; 1 <
; 1 <=
; 2 >=
; 33 !
; 2 &&
; 3 ||
; 1 Left()
; 1 PCBDat()
; 1 PPEPath()
; 1 PcbNode()
; 1 ReadLine()
; 23 UN_Stat()
; 3 UN_Name()
; 2 UN_City()
; 1 UN_Oper()
; 2 AnsiOn()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 7 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------